/**
 * 根据消息类型生成对应内容
 * @param {Object} item - 消息对象
 * @returns {string} 格式化后的消息内容
 */
export interface ToolCall {
  id: string;
  call_tool: string;
  result: string;
}

export interface MessageItem {
  id: number;
  role: string;
  content: string | null;
  thinking: string | null;
  provider: string | null;
  model: string | null;
  created_at: string | null;
  tool: ToolCall[] | null;
}

export const getItemContent = (item: MessageItem) => {
  switch(item?.role) {
    case 'assistant':
      // console.log('item.thinking:', item.thinking);
      if (item.thinking != null) return `**已深度思考**\n\n${item.thinking}\n\n**结果**\n\n${item.content}\n`
      return item.content;
    case 'tool':
      if (!item.tool) return '';
      return item.tool.map(tool => {
        const toolCall = tool.call_tool.replace(/\(\)$/, '');
        return `**调用工具**: ${toolCall}\n**结果**:\n${tool.result}`;
      }).join('\n\n');
  
    default:
      return item.content || '';
  }
}
